#!/usr/bin/env python
PACKAGE = "nubot_hwcontroller"

from dynamic_reconfigure.parameter_generator_catkin import *

gen = ParameterGenerator()

#gen.add("Use_CMAC", bool_t, 0, "enable cmac controller", False)
gen.add("FeedBack_P", double_t, 0, "P gain for feedback controller", 7.0, 1, 50)
gen.add("FeedBack_D", double_t, 0, "D gain for feedback controller", 2.0, -10, 30)
gen.add("FeedBack_I", double_t, 0, "I gain for feedback controller", 0.5, 0, 50)
gen.add("Kx_f", double_t, 0, "FeedForward gain for Vx in forward direction", 0.25, 0, 5)
gen.add("Kx_b", double_t, 0, "FeedForward gain for Vx in backward direction", 0.5, 0, 5)
gen.add("Dribble_pos", double_t, 0, "Dribble position set", 26, 0, 50)
#gen.add("Target_Position", double_t, 0, "Target_Position for feedback controller", 0.7, 0, 1)
#gen.add("int_param", int_t, 0, "An Integer parameter", 50, 0, 100)
#gen.add("double_param", double_t, 0, "A double parameter", .5, 0, 1)
#gen.add("str_param", str_t, 0, "A string parameter", "Hello World")
#gen.add("bool_param", bool_t, 0, "A Boolean parameter", True)

#size_enum = gen.enum([ gen.const("Small", int_t, 0, "A small constant"),
#                  gen.const("Medium", int_t, 1, "A medium constant"),
#                  gen.const("Large", int_t, 2, "A large constant"),
#                  gen.const("ExtraLarge", int_t, 3, "An extra large constant") ],
#                  "An enum to set size")

#gen.add("size", int_t, 0, "A size parameter which is edited via an enum", 1, 0, 3, edit_method=size_enum)

exit(gen.generate(PACKAGE, "nubot_hwcontroller", "controller"))
